#ifndef _CSCROLL_H
#define _CSCROLL_H

//#define MAX_SCROLLS 5

#include "textura.h"
#include "pantalla.h"


/*---------------------------------
	Scroll data structure
---------------------------------*/
typedef struct
{
	CTextura	*m_pTextura;	
	float		m_fDivisionesX;
	float		m_fDivisionesY;
	float		m_fVelocX;
	float		m_fVelocY;
	float		m_fRollX;
	float		m_fRollY;
	float		m_fX;
	float		m_fY;	
	float		m_aColorAbajo[3];
	float		m_aColorArriba[3];
	float		m_aColor[3];
	Bool 		m_bEscalaColor;
	Bool		m_bAutomatico;	
	Bool		m_bMascaraAsignada;
	Bool		m_bMover;
}TDatosScroll;

/*------------------------------------------------------------------------------
	Implements a parallax scroll
------------------------------------------------------------------------------*/
class CScroll
{
	CPantalla	*m_pPantalla;	
	TDatosScroll m_tScroll[MAX_SCROLLS];
	int m_iNumScrolls;
			
public:

	CScroll();
	~CScroll();
	Bool Iniciar(int numScroll,CTextura *pTextura,CPantalla *pPantalla,Bool Auto=FALSE,float fVelocX=0,float VelocY=0,float DivX=1,float DivY=1);
	Bool Iniciar(int numScroll,CPantalla *pPantalla,float aColorArriba[3],float aColorAbajo[3]);
	void Liberar();
	void Dibujar();	
	void DibujarNormal(int numScroll);
	void DibujarEscalaColor(int numScroll);
	void Actualizar(int numScroll);
	
	/*---------------------------------
	 set Functions
	---------------------------------*/
	void setColor(int numScroll,float fR,float fG,float fB)	{m_tScroll[numScroll].m_aColor[0]=fR;m_tScroll[numScroll].m_aColor[1]=fB;m_tScroll[numScroll].m_aColor[2]=fG;}
};

#endif
